﻿using System.Collections.Generic;
using System.Linq;
using MeetingAssistant.Component.Tools;
using MeetingAssistant.Domain.Model.Member;
using MeetingAssistant.ViewModel.Member;
using System.Linq.Expressions;
using System;

namespace MeetingAssistant.CoreBLL.Service.Member.Interface
{
    public interface IUserService
    {
        IQueryable<User> Users { get; }
        IList<UserVM> GetListUserVM(Expression<Func<User, bool>> wh, int limit, int offset, out int total, string name);

        OperationResult Insert(UserVM model, int id);
        OperationResult Update(UserVM model);
        OperationResult Delete(IEnumerable<UserVM> list);
        OperationResult ResetPassword(IEnumerable<UserVM> list);
        OperationResult UpdateUserRoles(int roleId, string[] chkRoles);
        OperationResult UpdateUserGroups(int userId, string[] chkUserGroups);
        
    }
}
